package vn.fpt.fsoft.entities;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;



/**
 * ThongNV2
 */

@Entity
@Table(name = "Team")
public class Team implements java.io.Serializable {

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 384615142331861206L;
	private int teamId;
	private Department department;
	private Contact contact;
	private Address address;
	private String teamName;
	private String teamShortDescription;
	private int typeOfBusiness;
	private String TeamFullDescription;
	private String phoneNumber;
	private String fax;
	private String email;
	private String webAddress;
	private Boolean status;
	
	
	/**
	 * Default Constructor with no parameter.
	 */
	public Team() {
		// TODO Auto-generated constructor stub
	}


	/**
	 * Constructor with full parameters.
	 * @param teamId
	 * @param department
	 * @param contact
	 * @param address
	 * @param teamName
	 * @param teamShortDescription
	 * @param typeOfBusiness
	 * @param teamFullDescription
	 * @param phoneNumber
	 * @param fax
	 * @param email
	 * @param webAddress
	 * @param status
	 */
	public Team(int teamId, Department department, Contact contact,
			Address address, String teamName, String teamShortDescription,
			int typeOfBusiness, String teamFullDescription, String phoneNumber,
			String fax, String email, String webAddress, Boolean status) {
		super();
		this.teamId = teamId;
		this.department = department;
		this.contact = contact;
		this.address = address;
		this.teamName = teamName;
		this.teamShortDescription = teamShortDescription;
		this.typeOfBusiness = typeOfBusiness;
		TeamFullDescription = teamFullDescription;
		this.phoneNumber = phoneNumber;
		this.fax = fax;
		this.email = email;
		this.webAddress = webAddress;
		this.status = status;
	}


	/**
	 * @return the teamId
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "TeamId")
	public int getTeamId() {
		return teamId;
	}


	/**
	 * @param teamId the teamId to set
	 */
	public void setTeamId(int teamId) {
		this.teamId = teamId;
	}


	/**
	 * @return the department
	 */
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "DepartmentId")
	public Department getDepartment() {
		return department;
	}


	/**
	 * @param department the department to set
	 */
	public void setDepartment(Department department) {
		this.department = department;
	}


	/**
	 * @return the contact
	 */
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ContactId")
	public Contact getContact() {
		return contact;
	}


	/**
	 * @param contact the contact to set
	 */
	public void setContact(Contact contact) {
		this.contact = contact;
	}


	/**
	 * @return the address
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "AddressID")
	public Address getAddress() {
		return address;
	}


	/**
	 * @param address the address to set
	 */
	public void setAddress(Address address) {
		this.address = address;
	}


	/**
	 * @return the teamName
	 */
	@Column(name = "TeamName")
	public String getTeamName() {
		return teamName;
	}


	/**
	 * @param teamName the teamName to set
	 */
	public void setTeamName(String teamName) {
		this.teamName = teamName;
	}


	/**
	 * @return the teamShortDescription
	 */
	@Column(name = "TeamShortDescription")
	public String getTeamShortDescription() {
		return teamShortDescription;
	}


	/**
	 * @param teamShortDescription the teamShortDescription to set
	 */
	public void setTeamShortDescription(String teamShortDescription) {
		this.teamShortDescription = teamShortDescription;
	}


	/**
	 * @return the typeOfBusiness
	 */
	@Column(name = "TypeOfBusiness")
	public int getTypeOfBusiness() {
		return typeOfBusiness;
	}


	/**
	 * @param typeOfBusiness the typeOfBusiness to set
	 */
	public void setTypeOfBusiness(int typeOfBusiness) {
		this.typeOfBusiness = typeOfBusiness;
	}


	/**
	 * @return the teamFullDescription
	 */
	@Column(name = "TeamFullDescription")
	public String getTeamFullDescription() {
		return TeamFullDescription;
	}


	/**
	 * @param teamFullDescription the teamFullDescription to set
	 */
	public void setTeamFullDescription(String teamFullDescription) {
		TeamFullDescription = teamFullDescription;
	}


	/**
	 * @return the phoneNumber
	 */
	@Column(name = "PhoneNumber")
	public String getPhoneNumber() {
		return phoneNumber;
	}


	/**
	 * @param phoneNumber the phoneNumber to set
	 */
	public void setPhoneNumber(String phoneNumber) {
		this.phoneNumber = phoneNumber;
	}


	/**
	 * @return the fax
	 */
	@Column(name = "Fax")
	public String getFax() {
		return fax;
	}


	/**
	 * @param fax the fax to set
	 */
	public void setFax(String fax) {
		this.fax = fax;
	}


	/**
	 * @return the email
	 */
	@Column(name = "Email")
	public String getEmail() {
		return email;
	}


	/**
	 * @param email the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}


	/**
	 * @return the webAddress
	 */
	@Column(name = "WebAddress")
	public String getWebAddress() {
		return webAddress;
	}


	/**
	 * @param webAddress the webAddress to set
	 */
	public void setWebAddress(String webAddress) {
		this.webAddress = webAddress;
	}


	/**
	 * @return the status
	 */
	@Column(name = "Status")
	public Boolean getStatus() {
		return status;
	}


	/**
	 * @param status the status to set
	 */
	public void setStatus(Boolean status) {
		this.status = status;
	}
	
	
	
	
	
	
	
	
	
	
	
}
